/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Nuevo_proveedor.java
 *
 * Created on 14/06/2009, 06:36:46 PM
 */

package Mantenimiento;
import Control.Conexion;
import java.awt.Color;
import javax.swing.JOptionPane;

/**
 *
 * @author GAMA
 */
public class Nuevo_proveedor extends javax.swing.JPanel {
Mantenimiento_proveedores frmMantenimientoProveedores;
private String nombrecorporativo;
    private String numeroruc;
    private String pagina_web;
    private String numerofax;
    private String nombre_representante;
    private String apellido_paterno;
    private String apellido_materno;
    private String email;
    private String telefono1;
    private String telefono2;
    private int codigo;
    int bandera;
    Integer codigo_usuario_auditoria=0;
    /** Creates new form Nuevo_proveedor */
    public Nuevo_proveedor(Mantenimiento_proveedores frmMantenimientoProveedores, int bandera, Integer codigo_usuario_auditoria) {
        initComponents();
        this.codigo_usuario_auditoria=codigo_usuario_auditoria;
        this.frmMantenimientoProveedores=frmMantenimientoProveedores;
        this.bandera=bandera;
        inicializar_campos();
       // txtruc.setBackground(Color.WHITE);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel2 = new javax.swing.JPanel();
        jPanel1 = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        txtnomcorp = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        txtruc = new javax.swing.JTextField();
        jLabel22 = new javax.swing.JLabel();
        txtfax = new javax.swing.JTextField();
        txtweb = new javax.swing.JTextField();
        jLabel8 = new javax.swing.JLabel();
        jPanel3 = new javax.swing.JPanel();
        jLabel12 = new javax.swing.JLabel();
        txtnombre = new javax.swing.JTextField();
        jLabel7 = new javax.swing.JLabel();
        txtemail = new javax.swing.JTextField();
        jLabel5 = new javax.swing.JLabel();
        txttelefono1 = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        txtapellido_paterno = new javax.swing.JTextField();
        jLabel9 = new javax.swing.JLabel();
        txtapellido_materno = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        txtcodigo = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();

        setLayout(null);

        jPanel2.setLayout(null);

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Datos Empresa"));
        jPanel1.setLayout(null);

        jLabel3.setText("Nombre Corporativo:");
        jPanel1.add(jLabel3);
        jLabel3.setBounds(20, 30, 110, 20);

        txtnomcorp.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                txtnomcorpCaretUpdate(evt);
            }
        });
        jPanel1.add(txtnomcorp);
        txtnomcorp.setBounds(150, 30, 220, 20);

        jLabel6.setText("Nº RUC: ");
        jPanel1.add(jLabel6);
        jLabel6.setBounds(420, 30, 60, 20);

        txtruc.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                txtrucCaretUpdate(evt);
            }
        });
        jPanel1.add(txtruc);
        txtruc.setBounds(480, 30, 90, 20);

        jLabel22.setText("Nº Fax:");
        jPanel1.add(jLabel22);
        jLabel22.setBounds(420, 70, 40, 20);

        txtfax.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                txtfaxCaretUpdate(evt);
            }
        });
        jPanel1.add(txtfax);
        txtfax.setBounds(480, 70, 90, 20);
        jPanel1.add(txtweb);
        txtweb.setBounds(150, 70, 220, 20);

        jLabel8.setText("Página Web:");
        jPanel1.add(jLabel8);
        jLabel8.setBounds(60, 70, 80, 20);

        jPanel2.add(jPanel1);
        jPanel1.setBounds(20, 50, 650, 110);

        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Datos Representante"));
        jPanel3.setLayout(null);

        jLabel12.setText("Nombre:");
        jPanel3.add(jLabel12);
        jLabel12.setBounds(80, 30, 50, 20);

        txtnombre.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                txtnombreCaretUpdate(evt);
            }
        });
        jPanel3.add(txtnombre);
        txtnombre.setBounds(150, 30, 220, 20);

        jLabel7.setText("E-Mail: ");
        jPanel3.add(jLabel7);
        jLabel7.setBounds(430, 70, 40, 20);
        jPanel3.add(txtemail);
        txtemail.setBounds(480, 70, 150, 20);

        jLabel5.setText("Nº Celular : ");
        jPanel3.add(jLabel5);
        jLabel5.setBounds(410, 30, 60, 20);

        txttelefono1.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                txttelefono1CaretUpdate(evt);
            }
        });
        jPanel3.add(txttelefono1);
        txttelefono1.setBounds(480, 30, 90, 20);

        jLabel4.setText("Apellido Paterno: ");
        jPanel3.add(jLabel4);
        jLabel4.setBounds(40, 70, 100, 20);

        txtapellido_paterno.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                txtapellido_paternoCaretUpdate(evt);
            }
        });
        jPanel3.add(txtapellido_paterno);
        txtapellido_paterno.setBounds(150, 70, 220, 20);

        jLabel9.setText("Apellido Materno: ");
        jPanel3.add(jLabel9);
        jLabel9.setBounds(40, 110, 110, 14);

        txtapellido_materno.addCaretListener(new javax.swing.event.CaretListener() {
            public void caretUpdate(javax.swing.event.CaretEvent evt) {
                txtapellido_maternoCaretUpdate(evt);
            }
        });
        jPanel3.add(txtapellido_materno);
        txtapellido_materno.setBounds(150, 110, 220, 20);

        jPanel2.add(jPanel3);
        jPanel3.setBounds(20, 160, 650, 140);

        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Guardar16.gif"))); // NOI18N
        jButton1.setMnemonic('g');
        jButton1.setText("Guardar");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        jPanel2.add(jButton1);
        jButton1.setBounds(230, 320, 100, 25);

        jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Cancelar16.gif"))); // NOI18N
        jButton2.setMnemonic('c');
        jButton2.setText("Cancelar");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
        jPanel2.add(jButton2);
        jButton2.setBounds(370, 320, 95, 25);

        txtcodigo.setEditable(false);
        jPanel2.add(txtcodigo);
        txtcodigo.setBounds(170, 20, 110, 20);

        jLabel2.setText("Codigo:");
        jPanel2.add(jLabel2);
        jLabel2.setBounds(100, 20, 60, 20);

        jTabbedPane1.addTab("Nuevo Proveedor", jPanel2);

        add(jTabbedPane1);
        jTabbedPane1.setBounds(40, 10, 690, 380);
    }// </editor-fold>//GEN-END:initComponents

        public void inicializar_campos(){
        Conexion c=new Conexion();
        txtcodigo.setText(""+c.retornar_siguiente_codigo_proveedor());

    }
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        // TODO add your handling code here:
        this.setVisible(false);

        this.frmMantenimientoProveedores.getPanelContenedorAdministrador().removeAll();
        this.frmMantenimientoProveedores.setSize(761,400);
        this.frmMantenimientoProveedores.getPanelContenedorAdministrador().add(this.frmMantenimientoProveedores);
        this.frmMantenimientoProveedores.setVisible(false);
        this.frmMantenimientoProveedores.setVisible(true);
    }//GEN-LAST:event_jButton2ActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // TODO add your handling code here:
        capturar_datos();    
    }//GEN-LAST:event_jButton1ActionPerformed

    private void txtrucCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtrucCaretUpdate
        // TODO add your handling code here:
          String texto=this.txtruc.getText();
          char [] elemento=texto.toCharArray();
          boolean valido=true;
          for(int i=0;i<elemento.length;i++){
              if(Character.isLetter(elemento[i])){
                  valido=false;
              }
          }
          if(valido){
                      if(texto.length()<11){
                          txtruc.setForeground(Color.lightGray);
                      }else{
                          if(texto.length()>11){
                              txtruc.setForeground(Color.RED);
                          }else{
                              txtruc.setForeground(Color.BLACK);
                          }
                      }
          }else{
              txtruc.setForeground(Color.RED);
          }
          
    }//GEN-LAST:event_txtrucCaretUpdate

    private void txttelefono1CaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txttelefono1CaretUpdate
        // TODO add your handling code here:
          String texto=this.txttelefono1.getText();
            char [] elemento=texto.toCharArray();
          boolean valido=true;
          for(int i=0;i<elemento.length;i++){
              if(Character.isLetter(elemento[i])){
                  valido=false;
              }
          }
          if(valido){
          if(texto.length()<9){
                          txttelefono1.setForeground(Color.lightGray);
                      }else{
                          if(texto.length()>9){
                              txttelefono1.setForeground(Color.RED);
                          }else{
                              txttelefono1.setForeground(Color.BLACK);
                          }
                      }
          }else{
              txttelefono1.setForeground(Color.RED);
          }

    }//GEN-LAST:event_txttelefono1CaretUpdate

    private void txtfaxCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtfaxCaretUpdate
        // TODO add your handling code here:
        String texto=this.txtfax.getText();
        char [] elemento=texto.toCharArray();
          boolean valido=true;
          for(int i=0;i<elemento.length;i++){
              if(Character.isLetter(elemento[i])){
                  valido=false;
              }
          }
          if(!valido){
              txtfax.setForeground(Color.RED);
          }else{
              txtfax.setForeground(Color.BLACK);
          }
    }//GEN-LAST:event_txtfaxCaretUpdate

    private void txtnombreCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtnombreCaretUpdate
        // TODO add your handling code here:
          String texto=txtnombre.getText();
          char [] elemento=texto.toCharArray();
          boolean valido=true;
          for(int i=0;i<elemento.length;i++){
              if(!Character.isLetter(elemento[i])){
                  valido=false;
              }
          }
          if(!valido){
              txtnombre.setForeground(Color.RED);
          }else{
              txtnombre.setForeground(Color.BLACK);
          }


    }//GEN-LAST:event_txtnombreCaretUpdate

    private void txtapellido_paternoCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtapellido_paternoCaretUpdate
        // TODO add your handling code here:
          String texto=txtapellido_paterno.getText();
          char [] elemento=texto.toCharArray();
          boolean valido=true;
          for(int i=0;i<elemento.length;i++){
              if(!Character.isLetter(elemento[i])){
                  valido=false;
              }
          }
          if(!valido){
              txtapellido_paterno.setForeground(Color.RED);
          }else{
              txtapellido_paterno.setForeground(Color.BLACK);
          }
    }//GEN-LAST:event_txtapellido_paternoCaretUpdate

    private void txtapellido_maternoCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtapellido_maternoCaretUpdate
        // TODO add your handling code here:
            String texto=txtapellido_materno.getText();
          char [] elemento=texto.toCharArray();
          boolean valido=true;
          for(int i=0;i<elemento.length;i++){
              if(!Character.isLetter(elemento[i])){
                  valido=false;
              }
          }
          if(!valido){
              txtapellido_materno.setForeground(Color.RED);
          }else{
              txtapellido_materno.setForeground(Color.BLACK);
          }
    }//GEN-LAST:event_txtapellido_maternoCaretUpdate

    private void txtnomcorpCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_txtnomcorpCaretUpdate
        // TODO add your handling code here:
          String texto=txtnomcorp.getText();
          char [] elemento=texto.toCharArray();
          boolean valido=true;
          for(int i=0;i<elemento.length;i++){
              if(Character.isDigit(elemento[i])){
                  valido=false;
              }
          }
          if(!valido){
              txtnomcorp.setForeground(Color.RED);
          }else{
              txtnomcorp.setForeground(Color.BLACK);
          }


    }//GEN-LAST:event_txtnomcorpCaretUpdate
    public void capturar_datos(){
            try{
            Integer codigo= Integer.parseInt(txtcodigo.getText());
            }catch(Exception e){
                 JOptionPane.showMessageDialog(this,"Ingrese sólo números","No se puede guardar",JOptionPane.ERROR_MESSAGE);
            }

            String ncorporativo=txtnomcorp.getText();
            String pweb=txtweb.getText();
            String ruc=txtruc.getText();
            String fax=txtfax.getText();
            String nrepresentante=txtnombre.getText();
            String ap_paternor=txtapellido_paterno.getText();
            String ap_maternor=txtapellido_materno.getText();
            String telefono=txttelefono1.getText();
            String email=txtemail.getText();

              if(datos_validos(codigo,ncorporativo,pweb,ruc,fax,nrepresentante,ap_paternor,ap_maternor,telefono,email)){
             Conexion c=new Conexion();
                if(bandera==1){
                    c.registrar_proveedores(codigo_usuario_auditoria,codigo, ncorporativo, pweb, ruc, fax, nrepresentante, ap_paternor, ap_maternor, telefono, email);
                    JOptionPane.showMessageDialog(this,"Se ha registrado con éxito","Información",JOptionPane.INFORMATION_MESSAGE);

                }else{
                //aqui modificar.
                c.modificar_proveedor(codigo_usuario_auditoria,codigo, ncorporativo, pweb, ruc, fax, nrepresentante, ap_paternor, ap_maternor, telefono, email);
                JOptionPane.showMessageDialog(this,"Se ha modificado con éxito","Información",JOptionPane.INFORMATION_MESSAGE);
                }
                 this.setVisible(false);
                frmMantenimientoProveedores.getPanelContenedorAdministrador().removeAll();
                frmMantenimientoProveedores.cargar_tabla_proveedores();
                frmMantenimientoProveedores.getPanelContenedorAdministrador().add(frmMantenimientoProveedores);
                frmMantenimientoProveedores.setSize(741,400);
                frmMantenimientoProveedores.setVisible(false);
                frmMantenimientoProveedores.setVisible(true);
              }
           
   }

    public boolean datos_validos(Integer codigo,String ncorporativo, String pweb,String ruc, String fax,String nrepresentante,String ap_paternor,String ap_maternor,String telefono,String email){
        boolean validos=true;
         if(ncorporativo.equals("")){
                JOptionPane.showMessageDialog(this,"Ingrese el nombre corporativo de la empresa","No se puede guardar",JOptionPane.ERROR_MESSAGE);
                txtnomcorp.setBackground(new Color(249,232,232));
                validos=false;
                 return validos;
        }else{
            if(txtnomcorp.getForeground()==Color.RED){
                JOptionPane.showMessageDialog(this,"Ingrese sólo letras","No se puede guardar",JOptionPane.ERROR_MESSAGE);
                validos=false;
                txtnomcorp.setText("");
                txtnomcorp.setBackground(new Color(249,232,232));
                 return validos;
            }else{
                txtnomcorp.setBackground(Color.WHITE);
            }
        }

        if(ruc.equals("")){
                JOptionPane.showMessageDialog(this,"Ingrese el número de R.U.C. de la empresa","No se puede guardar",JOptionPane.ERROR_MESSAGE);
                txtruc.setBackground(new Color(249,232,232));
                validos=false;
                 return validos;
        }else{
            if(txtruc.getForeground()==Color.RED){
                JOptionPane.showMessageDialog(this,"Ingrese sólo letras","No se puede guardar",JOptionPane.ERROR_MESSAGE);
                validos=false;
                txtruc.setText("");
                txtruc.setBackground(new Color(249,232,232));
                 return validos;

            }else{
                 if(txtruc.getForeground()==Color.lightGray){
                    JOptionPane.showMessageDialog(this,"Ingrese el número de R.U.C. con 11 dígitos","No se puede guardar",JOptionPane.ERROR_MESSAGE);
                    txtruc.setText("");
                    txtruc.setBackground(new Color(249,232,232));
                     validos=false;
                     return validos;
                }else{
                txtruc.setBackground(Color.WHITE);
                }
            }
        }
        return validos;
    }





    
  
    


    //Etapa de registro o modificación
  


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel22;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTextField txtapellido_materno;
    private javax.swing.JTextField txtapellido_paterno;
    private javax.swing.JTextField txtcodigo;
    private javax.swing.JTextField txtemail;
    private javax.swing.JTextField txtfax;
    private javax.swing.JTextField txtnombre;
    private javax.swing.JTextField txtnomcorp;
    private javax.swing.JTextField txtruc;
    private javax.swing.JTextField txttelefono1;
    private javax.swing.JTextField txtweb;
    // End of variables declaration//GEN-END:variables

    /**
     * @return the nombrecorporativo
     */
    public String getNombrecorporativo() {
        return nombrecorporativo;
    }

    /**
     * @param nombrecorporativo the nombrecorporativo to set
     */
    public void setNombrecorporativo(String nombrecorporativo) {
        this.nombrecorporativo = nombrecorporativo;
        this.txtnomcorp.setText(nombrecorporativo);
    }

    /**
     * @return the numeroruc
     */
    public String getNumeroruc() {
        return numeroruc;
    }

    /**
     * @param numeroruc the numeroruc to set
     */
    public void setNumeroruc(String numeroruc) {
        this.numeroruc = numeroruc;
        this.txtruc.setText(numeroruc);
    }

    /**
     * @return the pagina_web
     */
    public String getPagina_web() {
        return pagina_web;
    }

    /**
     * @param pagina_web the pagina_web to set
     */
    public void setPagina_web(String pagina_web) {
        this.pagina_web = pagina_web;
        this.txtweb.setText(pagina_web);
    }

    /**
     * @return the numerofax
     */
    public String getNumerofax() {
        return numerofax;
    }

    /**
     * @param numerofax the numerofax to set
     */
    public void setNumerofax(String numerofax) {
        this.numerofax = numerofax;
        this.txtfax.setText(numerofax);
    }

    /**
     * @return the nombre_representante
     */
    public String getNombre_representante() {
        return nombre_representante;
    }

    /**
     * @param nombre_representante the nombre_representante to set
     */
    public void setNombre_representante(String nombre_representante) {
        this.nombre_representante = nombre_representante;
        this.txtnombre.setText(nombre_representante);
    }

    /**
     * @return the apellido_paterno
     */
    public String getApellido_paterno() {
        return apellido_paterno;
    }

    /**
     * @param apellido_paterno the apellido_paterno to set
     */
    public void setApellido_paterno(String apellido_paterno) {
        this.apellido_paterno = apellido_paterno;
        this.txtapellido_paterno.setText(apellido_paterno);
    }

    /**
     * @return the apellido_materno
     */
    public String getApellido_materno() {
        return apellido_materno;
    }

    /**
     * @param apellido_materno the apellido_materno to set
     */
    public void setApellido_materno(String apellido_materno) {
        this.apellido_materno = apellido_materno;
        this.txtapellido_materno.setText(apellido_materno);
    }

    /**
     * @return the email
     */
    public String getEmail() {
        return email;
    }

    /**
     * @param email the email to set
     */
    public void setEmail(String email) {
        this.email = email;
        this.txtemail.setText(email);
    }

    /**
     * @return the telefono1
     */
    public String getTelefono1() {
        return telefono1;
    }

    /**
     * @param telefono1 the telefono1 to set
     */
    public void setTelefono1(String telefono1) {
        this.telefono1 = telefono1;
        this.txttelefono1.setText(telefono1);
    }

    /**
     * @return the telefono2
     */
    
    /**
     * @return the codigo
     */
    public int getCodigo() {
        return codigo;
    }

    /**
     * @param codigo the codigo to set
     */
    public void setCodigo(int codigo) {
        this.codigo = codigo;
        this.txtcodigo.setText(""+codigo);
    }

}
